<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DB structure</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Upgrade Guide" />
    <link rel="up" href="upgrade_3_0_toc.html" title="Chapter 14. Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0" />
    <link rel="prev" href="upgrade_3_0_xa.html" title="db_xa_open" />
    <link rel="next" href="upgrade_3_0_dbinfo.html" title="DBINFO structure" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DB structure</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="upgrade_3_0_xa.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 14. Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0</th>
          <td width="20%" align="right"> <a accesskey="n" href="upgrade_3_0_dbinfo.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="upgrade_3_0_db"></a>DB structure</h2>
          </div>
        </div>
      </div>
      <p>The <a href="../api_reference/C/db.html" class="olink">DB</a> structure is now opaque for applications in the Berkeley DB 3.0
release.  Accesses to any fields within that structure by the application
should be replaced with method calls.  The following example illustrates
this using the historic type structure field.  In the Berkeley DB 2.X releases,
applications could find the type of an underlying database using code
similar to the following:</p>
      <pre class="programlisting">DB *db;
DB_TYPE type;

type = db-&gt;type;</pre>
      <p>in the Berkeley DB 3.X releases, this should be done using the
<a href="../api_reference/C/dbget_type.html" class="olink">DB-&gt;get_type()</a> method, as follows:</p>
      <pre class="programlisting">DB *db;
DB_TYPE type;

type = db-&gt;get_type(db);</pre>
      <p>The following table lists the <a href="../api_reference/C/db.html" class="olink">DB</a> fields previously used by
applications and the methods that should now be used to get or set them.</p>
      <div class="informaltable">
        <table border="1" width="80%">
          <colgroup>
            <col />
            <col />
          </colgroup>
          <thead>
            <tr>
              <th><a href="../api_reference/C/db.html" class="olink">DB</a> field</th>
              <th>Berkeley DB 3.X method</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>byteswapped</td>
              <td>
                <a href="../api_reference/C/dbget_byteswapped.html" class="olink">DB-&gt;get_byteswapped()</a>
              </td>
            </tr>
            <tr>
              <td>db_errcall</td>
              <td>
                <a href="../api_reference/C/dbset_errcall.html" class="olink">DB-&gt;set_errcall()</a>
              </td>
            </tr>
            <tr>
              <td>db_errfile</td>
              <td>
                <a href="../api_reference/C/dbset_errfile.html" class="olink">DB-&gt;set_errfile()</a>
              </td>
            </tr>
            <tr>
              <td>db_errpfx</td>
              <td>
                <a href="../api_reference/C/dbset_errpfx.html" class="olink">DB-&gt;set_errpfx()</a>
              </td>
            </tr>
            <tr>
              <td>db_paniccall</td>
              <td>DB-&gt;set_paniccall</td>
            </tr>
            <tr>
              <td>type</td>
              <td>
                <a href="../api_reference/C/dbget_type.html" class="olink">DB-&gt;get_type()</a>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="upgrade_3_0_xa.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="upgrade_3_0_toc.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="upgrade_3_0_dbinfo.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">db_xa_open </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DBINFO structure</td>
        </tr>
      </table>
    </div>
  </body>
</html>
